#include <iostream>

using namespace std;

string a, b;

void dfs(int l1, int r1, int l2, int r2)
{
	//递归出口
	if(l1 > r1) return;

	//后序：左 右 根
	//1.先确定根节点
	int p = l1;
	while(a[p] != b[l2]) p++;

	dfs(l1, p - 1, l2 + 1, l2 + p - l1);//递归遍历左子树
	dfs(p + 1, r1, l2 + p - l1 + 1, r2); // 递归遍历右子树

	cout << b[l2];
}

int main()
{
	cin >> a >> b;
	dfs(0, a.size() - 1, 0, b.size() - 1);

	return 0;
}